package cn.initcap.service;

import cn.initcap.vo.GoodsVo;
import java.util.List;

/**
 * @author initcap
 * @date Created in 2018/8/10 PM4:31.
 */
public interface GoodsService {

    /**
     * 获取商品展示实体类
     *
     * @return 实体类集合
     */
    List<GoodsVo> listGoodsVo();

    /**
     * 根据商品编号得到商品展示实体类
     *
     * @param goodsId 商品编号
     * @return 商品展示实体类
     */
    GoodsVo getGoodsVoByGoodsId(long goodsId);

    /**
     * 减库存
     *
     * @param goods 商品展示实体类
     * @return true 减库存成功
     */
    boolean reduceStock(GoodsVo goods);

    /**
     * 减库存
     *
     * @param goods 商品展示实体类
     * @return true 减库存成功
     */
    boolean reduceStockFail(GoodsVo goods);

    /**
     * 重新设置库存
     *
     * @param goodsList 商品展示实体类集合
     */
    void resetStock(List<GoodsVo> goodsList);

}
